There are many different types of digital image capture devices available. For example, one of the more common types currently commercially available is a stand-alone digital camera designed to capture a single image frame into a fixed size buffer on request. Some such cameras include a display screen by means of which captured images can be reviewed. In some cases, a display screen may be provided as a viewfinder by means of which images can be viewed substantially in real time, substantially as they are received by the camera sensor. In order to provide this function, the camera requires substantial memory and image processing capability designed specifically to ‘consume’ image data substantially at the rate at which it is generated according to the frame rate and frame size at which the camera captures images.
There are, however, many circumstances in which it may be required to connect an image capturing device to personal computing apparatus for processing and displaying image data on its monitor. For example, U.S. Pat. No. 5,612,733 describes a video camera adapted for use with a computer monitor. The video camera is arranged to view the face of a computer operator in, for example, a video conferencing system, and the computing apparatus is arranged to process the image data captured by the camera, and transmit the data to another computer within the video conferencing system for display on its monitor.
In order to ensure that the image data can be processed or ‘consumed’ by the computing apparatus at a rate which minimises the level of latency (i.e. delay between the capture and display of image frames) within the system, the video camera must be provided with a certain amount of processing capability so as to compress the captured image data prior to transmission thereof to the computing apparatus, thereby minimising the rate at which it needs to be consumed. However, the provision of means within the camera for compressing the captured image data substantially increases its cost and, in many cases, its sizes.
Another known type of image capturing apparatus comprises a digital camera which can be plugged into, for example, a hand-held or portable computer for the display of captured images on its monitor or display screen. For example, U.S. Pat. No. 5,943,603 describes a camera module which is detachably coupled to a portable computer including a display screen and a data entry device. The electronic image data generated by the camera module is supplied to the portable computer for display on the display screen. Of course, the portable computer processor is not necessarily dedicated to, or even specifically designed for, the receipt and processing of the image data for display, and as such may only be able to ‘consume’ image data at a variable or unpredictable rate (according to processor capacity availablity) which is lower than the rate at which the image data is captured.
In some known systems, this problem is dealt with by the provision of a buffer, such as a FIFO (first-in first-out) memory module, between the camera and the host computer. The FIFO stores image data captured by the camera until it can be transmitted to for processing. In order to prevent the FIFO from overflowing (which, in turn, would lead to the uncontrolled loss of image frames), it is necessary to provide a relatively large FIFO. However, there are two main disadvantages associated with this. Firstly, the additional cost (and possibly size) which the large memory module adds to the camera. Secondly, and arguably more importantly, there is a lack of control over a FIFO memory device because once data has been written to the FIFO, it must be read back out of it (in the same order as it was written into it). Thus, if a large amount of image data has been written to the FIFO, it may take a relatively long time to read it back out, which leads to image latency such that there may be a substantial delay between the capture of image data and its display on the portable computer display screen or monitor. Even if another type of memory device is provided, thereby overcoming at least some of the problems associated specifically with a FIFO, but it would then be necessary to provide substantial processing capability within the camera head to control the memory, which would substantially increase its cost and size.
Thus, as explained above, there are several problems associated with an imaging system in which the rate of consumption of data is unpredictable. Further, today's digital image sensors provide the ability to modify the size of each frame captured in order to enhance the functionality of the device in which it is used. It is common to use this feature to provide digital zoom where each successive frame is larger or smaller than the previous, depending on the direction of zoom. However, the successive storage of multiple, variable-sized frames prior to being read by an imaging subsystem requires some extra memory element to keep track of the size of each frame stored, or an extra bit added to the width of the storage element in order to provide a unique code identifying frame separation. Both of these solutions require extra storage either in the camera head or the imaging subsystem. In fact, variable frame sizes present a significant memory management problem when trying to buffer images for use by an imaging subsystem, while still maintaining relatively low memory requirements. Further, the exposure time of the image capture device may be variable.
We have now devised an arrangement which overcomes the problems outlined above.